目标 🎯
- 任务: 找出从源服务器 `S` 到所有其他服务器的最佳路径。
- 输出要求: 对每个服务器 `i`,你必须计算:
- 总延迟: 从 `S` 到 `i` 的最小代价(最短路径)。
- 下一跳: 该最短路径上的第一个服务器。
- 示例: 如果从 `S` 到 `D` 的最佳路径是 `S -> A -> B -> D`,则 **下一跳** 为 `A`。
网络结构 💾
我们将使用一个 邻接表 来存储网络结构。
- 服务器是 节点。
- 连接是 双向边。
- 延迟是 正权重。
// 连接:0-1 (10毫秒),0-2 (3毫秒)
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]
输出格式 ⚙️
你需要输出 `V` 行,每行 `i` 对应服务器 `i`。
[延迟] [下一跳]对于可达的节点。
0 -1如果该节点就是源服务器 `S` 本身。
-1 -1如果该节点无法从 `S` 到达。